<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml"
	xmlns:h="http://java.sun.com/jsf/html"
	xmlns:ui="http://java.sun.com/jsf/facelets"
	xmlns:p="http://primefaces.org/ui"
	xmlns:f="http://java.sun.com/jsf/core">



<ui:composition template="/paginas/templates/commonLayout.xhtml">


	<ui:define name="title">
	Cadastro de Usuário
</ui:define>

	<ui:define name="content">

		<p:panel style="text-align: center;">
			<h2>Cadastrar Usuário</h2>
		</p:panel>
		<br />

		<h:form id="formUsuario">
			<p:growl id="growlUsuario" showDetail="true" sticky="false"
				life="6000" />

			<p:panel id="panelUsuario" columns="4">
				<h:panelGrid id="panelDados" columns="2" cellpadding="5">

					<h:outputLabel for="nomeInput" value="Nome: *" />
					<p:inputText id="nomeInput" value="#{usuarioBean.usuario.nome}"
						required="true" requiredMessage="#{msg.nome_usuario_obrigatorio}"
						maxlength="100" size="50">
						<f:validator validatorId="validaNome" />
					</p:inputText>
				</h:panelGrid>

				<h:panelGrid id="panelLogin" columns="2" cellpadding="5">

					<h:outputLabel for="loginInput" value="Login: *" />
					<p:inputText widgetVar="loginInputVar" id="loginInput"
						value="#{usuarioBean.usuario.login}" required="true"
						requiredMessage="#{msg.login_usuario_obrigatorio}" maxlength="100"
						size="50">
						<p:ajax event="blur" listener="#{usuarioBean.validaLogin}"
							update=":formUsuario:dialogLoginInvalidoOuInexistente" />
					</p:inputText>

				</h:panelGrid>

				<h:panelGrid id="panelSetor" columns="4" cellpadding="5">


					<h:outputLabel for="setorUsuario" value="Setor:" />
					<p:selectOneMenu id="setorUsuario"
						value="#{usuarioBean.usuario.setor}" effect="fade"
						converter="setorConverter">
						<f:selectItems value="#{usuarioBean.tiposSetores}" required="true"
							var="setor" itemLabel="#{setor.tipoSetor}" itemValue="#{setor}" />
					</p:selectOneMenu>

					<h:outputText value="Administrador: " />
					<p:selectBooleanCheckbox
						value="#{usuarioBean.usuario.administrador}" />

				</h:panelGrid>

				<h:panelGrid id="localidadePanel" columns="2" cellpadding="5">

					<h:outputLabel for="estadoSelect" value="Estado:" />
					<p:selectOneMenu id="estadoSelect" converter="estadoConverter"
						value="#{usuarioBean.usuario.estado}">
						<f:selectItems value="#{usuarioBean.estados}" var="estado"
							itemLabel="#{estado.nome}" itemValue="#{tipoModalidade}" />
						<p:ajax update="cidadeSelect"
							listener="#{usuarioBean.handleMudancaEstado}" />
					</p:selectOneMenu>

					<h:outputLabel for="estadoSelect" value="Cidade:" />
					<p:selectOneMenu id="cidadeSelect" converter="cidadeConverter"
						value="#{usuarioBean.usuario.cidade}">
						<f:selectItems value="#{usuarioBean.cidades}" var="cidade"
						itemLabel="#{cidade.nome}" itemValue="#{cidade}" />
					</p:selectOneMenu>

				</h:panelGrid>

				<h:panelGrid id="senhaPanel" columns="2" cellpadding="5">

					<h:outputText value="Senha: *" />
					<p:password id="senhaInput" value="#{usuarioBean.usuario.senha}"
						match="repetirSenhaInput" feedback="true"
						promptLabel="Por favor, entre com a senha" weakLabel="Fraca"
						goodLabel="Razoável" strongLabel="Forte"
						validatorMessage="Os campos 'Senha' não são iguais!"
						required="true" requiredMessage="O campo senha é obrigatório!" />

					<h:outputText value="Repetir Senha: *" />
					<p:password id="repetirSenhaInput" required="true"
						requiredMessage="Por favor, repita a senha!"
						value="#{usuarioBean.usuario.senha}" feedback="false" />

				</h:panelGrid>

			</p:panel>

			<br />

			<p:commandButton value="Cadastrar" ajax="false" icon="ui-icon-disk"
				action="#{usuarioBean.salvarUsuario}"
				update=":panelUsuario:panelDados" />

			<p:dialog id="dialogLoginInvalidoOuInexistente"
				header="Informação sobre o login escolhido"
				widgetVar="dialogLoginInvalido" closable="false"
				visible="#{usuarioBean.loginInvalido}">
				<h:panelGrid columns="1" cellpadding="3">
					<h:outputText value="Login já existente. Tente outro, por favor!" />

					<p:commandButton id="fecharLoginInvalido" icon="ui-icon-close"
						style="width:100px;text-align: center;" value="Fechar"
						update=":formUsuario:panelLogin" process="@this"
						onclick="dialogLoginInvalido.hide();" />
				</h:panelGrid>


			</p:dialog>

		</h:form>
		<br />

		<h:form id="formExterno">
			<p:commandButton value="Cancelar" ajax="false"
				icon="ui-icon-circle-close"
				action="/paginas/menu?faces-redirect=true" />
		</h:form>
		<br />




	</ui:define>

</ui:composition>


</html>